--- import Layout from '../../layouts/Layout.astro'; import ProductCard from '../../components/ProductCard.astro'; import { getProductsFromDB, getBrandBySlugFromDB } from '../../lib/products'; import { getBrandContent } from '../../data/brand-content'; import { getBrandLogo } from '../../components/BrandLogos'; const { slug } = Astro.params; const dbBrand = await getBrandBySlugFromDB(slug!); const brandName = dbBrand?.name || slug!.charAt(0).toUpperCase() + slug!.slice(1); const logoSrc = dbBrand?.logo_url || null; const inlineBrandSvg = getBrandLogo(slug!); const brandSneakers = await getProductsFromDB({ limit: 24, brand: slug! }); const content = getBrandContent(slug!); const lowestPrice = brandSneakers.length > 0 ? Math.min(...brandSneakers.map(p => p.lowestPrice)) : 0; const title = content?.metaTitle || `${brandName} sneakers vergelijken — ${brandSneakers.length} modellen vanaf €${lowestPrice.toFixed(2).replace('.', ',')} | SneakerPicks`; const description = content?.metaDescription || `${brandName} sneaker prijzen vergelijken bij Nederlandse webshops. Vanaf €${lowestPrice.toFixed(2).replace('.', ',')}. Vind de laagste prijs.`; --- {inlineBrandSvg ? ( ) : logoSrc ? ( ) : ( {brandName.charAt(0)} )} {brandName} Sneakers {brandSneakers.length} sneakers beschikbaar · Prijzen vergelijken {content && ( {content.tagline} )} Alle {brandName} sneakers {brandSneakers.map((sneaker, i) => ( ))} {brandSneakers.length === 0 && ( Nog geen sneakers gevonden voor {brandName}. )} {content && ( Over {brandName} {content.description.split('\n\n').map(paragraph => ( {paragraph} ))} Opgericht {content.founded} Oorsprong {content.origin} Sneakers {brandSneakers.length} modellen Populaire {brandName} modellen {content.popularModels.map(model => ( {model} ))} )}
{brandSneakers.length} sneakers beschikbaar · Prijzen vergelijken
{content.tagline}
Nog geen sneakers gevonden voor {brandName}.
{paragraph}
Opgericht
{content.founded}
Oorsprong
{content.origin}
Sneakers
{brandSneakers.length} modellen